/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package edu.upn.sigemfi.can.beans;

import edu.upn.sigemfi.can.bc.ServicioDelegate;
import edu.upn.sigemfi.can.be.Servicio;
import java.util.List;
import javax.faces.model.SelectItem;


/**
 *
 * @author Jhosep
 */
public class ServicioController extends AbstractController{

    private ServicioDelegate delegado;
    private Servicio servicio;

    public ServicioController() {
        delegado = new ServicioDelegate();
    }

     public SelectItem[] getListaServicios() {
        SelectItem[] select = null;
        try {
            List<Servicio> lista = delegado.listar();
            if (lista != null) {
                select = new SelectItem[lista.size()];
                int i = 0;

                for (Servicio p : lista) {
                    select[i++] = new SelectItem(p, p.getNombreServicio());
                }
            } else {
                select = new SelectItem[1];
                select[0] = new SelectItem(null, "No existen el Servicio");
            }
        } catch (Exception e) {

        select = new SelectItem[1];
        select[0] = new SelectItem(null, "<<Hubo un error>>" + e.getMessage());
        }
        return select;
    }

    public List<Servicio> getServicios() {
        try {
            return delegado.listar();
        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }

    public String nuevo() {
        servicio = new Servicio();
        return "nuevo";
    }

    public String editar() {
        return "editarservicio";
    }

    public String registrar() {
        try {
            delegado.crear(servicio);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return "volver";
    }

    public String eliminar() {
        try {
            delegado.eliminar(servicio);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return "volver";
    }

    public String actualizar() {
        try {
            delegado.editar(servicio);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return "volver";
    }


    public Servicio getServicio() {
        return servicio;
    }

    public void setServicio(Servicio servicio) {
        this.servicio = servicio;
    }
}
